package GenericStudy.Exa4;

/**
 * 泛型接口Maximum，此接口抽象了对数组的三种操作：
 * 1.获取数组中最大值
 * 2.获取数组中最小值
 * 3.将数组排序并返回
 * @param <T> 限制了T的范围，只能是实现了Comparable接口的类
 */
public interface Maximum<T extends Comparable<T>> {
    /**
     * 获得数组最大值
     * @param array
     * @return
     */
    T getMax(T[] array);

    /**
     * 获得数组最小值
     * @param array
     * @return
     */
    T getMin(T[] array);

    /**
     * 对数组进行排序
     * @param array
     * @return
     */
    T[] sorted(T[] array);
}
